package com.peas.platform.module.icims.base.auth.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 组织架构
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_organization`")
public class OrganizationPo extends BasePo {

    //组织架构类型
    //部门、岗位
    @Size(max = 20, message = "组织架构类型不能超过20个字符")
    @TableField(value = "`organization_type`", jdbcType = JdbcType.VARCHAR)
    private String organizationType;

    //组织架构编码
    @Size(max = 50, message = "组织架构编码不能超过50个字符")
    @TableField(value = "`organization_code`", jdbcType = JdbcType.VARCHAR)
    private String organizationCode;

    //组织架构名称
    @Size(max = 200, message = "组织架构名称不能超过200个字符")
    @TableField(value = "`organization_name`", jdbcType = JdbcType.VARCHAR)
    private String organizationName;

    //状态
    @Size(max = 20, message = "状态不能超过20个字符")
    @TableField(value = "`state`", jdbcType = JdbcType.VARCHAR)
    private String state;

    //上级组织架构ID
    //（组织架构表）外键
    @TableField(value = "`parent_id`", jdbcType = JdbcType.BIGINT)
    private Long parentId;

    //备注
    @TableField(value = "`remark`", jdbcType = JdbcType.CLOB)
    private String remark;

}
